package cards;

import cards.params.CommonParams;
import cards.params.UpToDateParams;
import cards.templates.CardUpToDate;
import cards.templates.CardWithFreeTrips;

public enum CardType {
	STUDENT_31(51, new CardUpToDate(), new UpToDateParams(31)), 
	STUDENT_10(17, new CardUpToDate(), new UpToDateParams(10)), 
	SCHOOL_31(63, new CardUpToDate(), new UpToDateParams(31)), 
	SCHOOL_10(21, new CardUpToDate(), new UpToDateParams(10)), 
	COMMON_5(12, new CardWithFreeTrips(), new CommonParams(5)), 
	COMMON_10(22, new CardWithFreeTrips(), new CommonParams(10));
	
	private int cost;
	private Card tempalate;
	private Params params;
	
	CardType() {
		
	}
	
	CardType(int cost, Card template, Params params) {
		this.cost = cost;
		this.tempalate = template;
		this.params = params;
	}

	public int getCost() {
		return cost;
	}

	public Card getTempalate() {
		return tempalate;
	}

	public Params getParams() {
		return params;
	}
	
	
}
